A packet-based data communications network is a collection of network elements interconnected to support the transfer of information from one element to another, and having the characteristic that data is transferred in discrete chunks or packets, where all the information in each packet has a common source element and a common destination element.
FIG. 1 shows in schematic form basic elements of such a network. The principal network elements are a source element 101, links 115, a switch 110 and an endpoint 120. In this schematic the traffic is indicated as travelling on one direction only but it will be understood that each basic element may facilitate multidirectional traffic and that a source element for one data path may serve as an end point for another data path. It will be understood that a network will comprises a plurality of such basic elements which define a data communication path within which traffic may be routed. A link 115 transfers packets of data from one switch 110 or endpoint 101, 120 to another. Each packet is transmitted into a link as a stream of bits, typically at a constant rate measured in bits-per-second. At the other end of the link the same data is received as a stream of bits at the same constant rate and the original packet is reconstructed. Only one packet is transmitted or received at a time in each direction, although links 115 are typically bi-directional and can simultaneously transfer data in different directions. A switch 110 is connected to multiple links; as it receives packets of data from these links 115, it determines a set of links where each packet should be forwarded and transmits the packet on these links. An endpoint 101, 120 is a system connected to one or more links that acts as an origin of packets for transmission into the network, or as a destination for packets received from the network.
It is well understood that packets contain variable amounts of information. This amount of information in a packet is typically referred to as the packet's size or volume, measured in bits. A packet's volume may change as it is transferred from element to element within a network. A switch may break a packet up into two or more new packets (having the same origin and destination endpoints as the original packet). A switch may also assemble two or more packets that have the same origin and destination endpoints into a single packet.
It is well discussed in the art that the actual speed achieved in a packet based network is an important design parameter and performance characteristic of the network. While network designers and providers can quote the bandwidth capacity of their network, it is important to be able to independently test or audit those parameters.
Accurate knowledge of short timescale traffic rates in communications networks is useful for ensuring that critical systems and network links have sufficient capacity to process and/or forward data without introducing delays. Traffic in such networks is typically ‘bursty’, meaning that elements originate and transmit data in short bursts of high activity interspersed with periods of lower activity. To avoid processing delays during these bursts, resources must have sufficient capacity to keep up with the higher activity level that they represent. If the transmission rate of a traffic source is measured over a timescale that is long compared with its typical burst duration, then the measurement will represent an average over periods of both high and low activity. As such it does not provide a useful indication of the resource capacity needed to keep up with the traffic rate during bursts.
There is therefore a need to provide an accurate method to measure the peak or maximum rate at which a traffic source is sending data in a packet-based data communications network, based on observations of packets received from that source at a downstream point in the network.